✓ RNS 1.4.2 released https://pypi.org/project/rns/
🬤 rns.recipes
Markdown export · rnns-friendly-name-to-rnid-tool.md
Copy the block below or save it to a .md file.
# rnns: friendly name to rnid tool
_Showcase · started by qbit on Tue, May 12, 2026 8:45 PM_
---
## Original post
**qbit** · Tue, May 12, 2026 8:45 PM
`rnns` is an extremely simple script that helps one locally resolve names to
RNIDs.
``` sh
#!/bin/sh
RN_NAME_FILE=${RN_NAME_FILE:-~/.rnns}
function usage() {
echo "rnns [-h] friendly_identifier"
}
while getopts h name; do
case $name in
h)
usage
exit 0
;;
*)
usage
exit 1
esac
done
if [ -z "$1" ]; then
usage
exit 1
fi
awk -v entry="$1" '{ for (i=NF; i>1; i--) { if ($i == entry) { print $1} } }' $RN_NAME_FILE
```
For example usage, one can add an entry for the official Reticulum signing key:
```
bc7291552be7a58f361522990465165crns-sig
```
Now you can use it by calling `rnns` with the string `rns-sig`:
``` sh
% rnid -i $(rnns rns-sig) -V nomadnet-1.0.4.tar.gz
Recalled Identity <bc7291552be7a58f361522990465165c>
Signature is valid, the file nomadnet-1.0.4.tar.gz was signed by <bc7291552be7a58f361522990465165c>
%
```
You can even add multiple aliases for a single entry:
```
0cc65124b72a5fdec6dcc14241bb8108openbsd.app openbsd app
```
All three of the above "resolve" to `0cc6...`!
Hope someone finds it useful!
---
## Reply 1
**qbit** · Tue, May 12, 2026 8:48 PM
alternative link to the script: 3b5bc6888356193f1ac1bfb716c1beef:/file/rnns
---
## Reply 2
**sprell** · Tue, May 12, 2026 10:51 PM
3b5bc6888356193f1ac1bfb716c1beef... beef...
---
## Reply 3
**Mark** · Wed, May 13, 2026 8:41 AM
That's nice! Thanks qbit!
---
## Reply 4
**joakim** · Wed, May 13, 2026 10:48 AM
Nice one!
Follow-up idea: Have all CLI tools of RNS support a `.reticulum/aliases` file, similar to SSH aliases.
Or maybe an `rnalias` tool for managing `.reticulum/storage/aliases`, if not a part of `rnid` itself?
---
## Reply 5
**Anonymous** · Thu, Jun 25, 2026 6:57 PM
**joakim** wrote:
> Nice one!
>
> Follow-up idea: Have all CLI tools of RNS support a `.reticulum/aliases` file, similar to SSH aliases.
>
> Or maybe an `rnalias` tool for managing `.reticulum/storage/aliases`, if not a part of `rnid` itself?
That would be super nice. How do people manage their identities I wonder. Keep a list somewhere and copy paste of needed?
---
## Reply 6
**qbit** · Wed, Aug 5, 2026 4:34 PM
Here's an updated version that has support for rngit aliases:
```
#!/bin/sh
# rnns is a utility that can be used to associate a name to a reticulum identity.
# the ~/.rnns file is similar to /etc/hosts, one rnid per line, multiple names
# can bee added at the end:
# abcdething thing.stuff
#
# It also supports pulling aliases from ~/.rngit/client_config.
RN_NAME_FILE=${RN_NAME_FILE:-~/.rnns}
usage() {
echo "rnns [-h] friendly_identifier"
}
while getopts h name; do
case $name in
h)
usage
exit 0
;;
*)
usage
exit 1
;;
esac
done
if [ -z "$1" ]; then
usage
exit 1
fi
RNNF_ENTRY="$(awk -v entry="$1" '{ for (i=NF; i>1; i--) { if ($i == entry) { print $1} } }' $RN_NAME_FILE)"
if [ "$RNNF_ENTRY" == "" ]; then
if [ -r ~/.rngit/client_config ]; then
awk -v entry="$1" '{ if ($1 == entry) {print $3} }' ~/.rngit/client_config
fi
else
echo $RNNF_ENTRY
fi
```
---
## Reply 7
**qbit** · Wed, Aug 5, 2026 4:36 PM
http mirror: https://paste.suah.dev/rnns
rns mirror: 3b5bc6888356193f1ac1bfb716c1beef:/file/rnns
---
## Reply 8
**bergie** · Wed, Aug 5, 2026 6:26 PM
It might be nice to support comments/notes per alias. Here's how that would look like:
```
3b5bc6888356193f1ac1bfb716c1beef qbit # based on a forum comment
```
Updated AWK line:
```awk
awk -v entry="$1" '{ sub(/#.*/,""); for (i=NF; i>1; i--) { if ($i == entry) { print $1 } } }' "$RN_NAME_FILE"
```
---
## Reply 9
**qbit** · Wed, Aug 5, 2026 8:44 PM
Nice, thanks! maybe I shuold put this in a repo..
---